<?php

/**
 * 数据库PDO适配器
 *
 * @author edikud
 * @package Db
 * @copyright Copyright (c) 2019 Cola (http://www.mcooo.com)
 * @license GNU General Public License 2.0
 */
abstract class Db_Pdo_Abstract extends Db_Abstract
{
    /**
     * 数据库对象
     *
     * @access protected
     * @var PDO
     */
    protected $_pdo;

    /**
     * 判断适配器是否可用
     *
     * @access public
     * @return boolean
     */
    public static function isAvailable()
    {
        return class_exists('PDO');
    }
	
    /**
     * 数据库连接函数
     *
     * @param Container $config 数据库配置
     * @throws Db_Exception
     * @return PDO
     */
    public function connect(Container $config)
	{}

    /**
     * 获取数据库版本 
     * 
     * @param mixed $handle
     * @return string
     */
    public function version($handle)
    {
        return 'pdo:' . $handle->getAttribute(PDO::ATTR_DRIVER_NAME) 
            . ' ' . $handle->getAttribute(PDO::ATTR_SERVER_VERSION);
    }

    /**
     * 引号转义函数
     *
     * @param string $string 需要转义的字符串
     * @return string
     */
    public function quoteValue($string){}

    /**
     * 对象引号过滤
     *
     * @access public
     * @param string $string
     * @return string
     */
    public function quoteColumn($string){}

}
